草庐IT

java - 使用 JavaFx 应用 MVC

全部标签

ruby-on-rails - 在大型 Rails 应用程序中加速 RSpec 测试

在我的RSpec测试中,我有一个包含2,000多个示例的Rails应用程序。不用说,这是一个大型应用程序,需要测试的内容很多。此时运行这些测试效率非常低,而且因为它需要很长时间,我们几乎不鼓励在推送新构建之前编写它们。我将--profile添加到我的spec.opts以查找运行时间最长的示例,其中至少有10个平均需要10秒才能运行。这在你们RSpec专家中是正常的吗?10秒对于一个例子来说是不是太长了?我意识到使用2,000个示例,彻底测试所有内容将花费大量时间-但此时4小时有点荒谬。对于运行时间最长的示例,您看到了什么样的时间?我可以做些什么来解决我现有的规范问题,以找出瓶颈并帮助加

ruby - Ruby 中的 java 接口(interface)等价物是什么?

我们能否像在java中那样在Ruby中公开接口(interface),并强制Ruby模块或类实现接口(interface)定义的方法。一种方法是使用继承和method_missing来实现相同的目的,但是还有其他更合适的方法吗? 最佳答案 Ruby与任何其他语言一样具有接口(interface)。请注意,您必须注意不要将接口(interface)的概念与interface的概念混淆,接口(interface)是一个单元的职责、保证和协议(protocol)的抽象规范。这是Java、C#和VB.NET编程语言中的关键字。在Ruby中,

ruby-on-rails - 如何使用 Active Support 核心扩展

我安装了ActiveSupport3.0.3和带有Ruby1.8.7的Rails3.0.3。当我尝试使用1.week.ago时,我得到了NoMethodError:undefinedmethod'week'for1:Fixnumfrom(irb):2其他核心扩展似乎可以工作。我在friend的电脑上试过(他的电脑上有相同的安装规范和旧版本),结果相同。什么给了?所有这些都在IRB中。 最佳答案 因为使用Rails应该会自动处理这个问题,所以我假设您正在尝试向非Rails脚本添加ActiveSupport。阅读“HowtoLoadCo

ruby - 什么时候在 Ruby 中使用符号而不是字符串?

如果我的脚本中至少有两个相同字符串的实例,我是否应该改用符号? 最佳答案 长话短说一个简单的经验法则是每次需要内部标识符时都使用符号。对于Ruby完整答案不将它们用于动态生成的标识符的唯一原因是内存问题。这个问题很常见,因为许多编程语言没有符号,只有字符串,因此字符串也被用作代码中的标识符。您应该担心的是什么符号意味着,而不仅仅是您应该在什么时候使用符号。符号是标识符。如果您遵循这一理念,您很可能会把事情做对。符号和字符串的实现之间存在一些差异。关于符号最重要的一点是它们不可变。这意味着它们的值永远不会改变。因此,符号的实例化速度比

ruby-on-rails - 在模型 : how do I include helper dependencies? 中使用助手

我正在编写一个模型来处理来自文本区域的用户输入。遵循http://blog.caboo.se/articles/2008/8/25/sanitize-your-users-html-input的建议,我在保存到数据库之前清理模型中的输入,使用before_validate回调。我模型的相关部分如下所示:includeActionView::Helpers::SanitizeHelperclassPost%w(biu))endend不用说,这是行不通的。当我尝试保存新帖子时出现以下错误。undefinedmethod`white_list_sanitizer'for#显然,Sanitiz

ruby - 为什么我的基本 Heroku 应用程序需要两秒钟才能加载?

我创建了两个非常简单的Heroku应用程序来测试服务,但是当我第一次访问它们时加载页面通常需要几秒钟:Cropify-基本Sinatra应用程序(ongithub)Textile2HTML-更基本的Sinatra应用程序(ongithub)我所做的只是创建一个简单的Sinatra应用程序并进行部署。我没有做任何事情来扰乱或测试Heroku服务器。我可以做些什么来缩短响应时间?现在速度很慢,我不确定从哪里开始。如果有帮助,项目的代码在github上。 最佳答案 如果您的应用程序有一段时间未使用,它会被卸载(从服务器内存中)。在第一次点

使用变量名的 Ruby 正则表达式

是否可以在ruby​​中创建/使用基于变量名值的正则表达式模式?例如,我们都知道我们可以使用Ruby字符串执行以下操作:str="mystring"str2="Thisis#{str}"#=>"Thisismystring"我想用正则表达式做同样的事情:var="Value"str="atestValue"str.gsub(/#{var}/,'foo')#=>"atestfoo"显然,这并不像列出的那样工作,我只是把它放在那里作为一个例子来展示我想做什么。我需要根据变量内容的值进行正则表达式匹配。 最佳答案 您认为行不通的代码:va

ruby-on-rails - 将应用程序推送到 heroku 问题

我正在尝试将我的应用程序推送到heroku,但我收到以下消息:$herokucreateCreatingelectric-meadow-15.....doneCreatedhttp://electric-meadow-15.heroku.com/|git@heroku.com:electric-meadow-15.git$gitpushherokumaster!Nosuchappasfierce-fog-63fatal:Theremoteendhungupunexpectedly我现在得到这个很奇怪,我已经多次将该应用程序推送到heroku没有问题。特别奇怪的是,fierce-fog-

ruby - 如何使用 Ruby 一步初始化一个数组?

我这样初始化一个数组:array=Array.newarray是否可以一步完成?如果是,怎么做? 最佳答案 您可以使用数组文字:array=['1','2','3']您还可以使用一个范围:array=('1'..'3').to_a#parenthesesarerequired#orarray=*('1'..'3')#parenthesesnotrequired,butincludedforclarity对于以空格分隔的字符串数组,您可以使用PercentStringsyntax:array=%w[123]您还可以将block传递给A

ruby - 使用哈希默认值时出现奇怪的意外行为(消失/更改值),例如哈希.new([])

考虑这段代码:h=Hash.new(0)#Newhashpairswillbydefaulthave0asvaluesh[1]+=1#=>{1=>1}h[2]+=2#=>{2=>2}没关系,但是:h=Hash.new([])#Emptyarrayasdefaultvalueh[1]{1=>[1]}←Okh[2]{1=>[1,2],2=>[1,2]}←Whydid`1`change?h[3]{1=>[1,2,3],2=>[1,2,3]}←Whereis`3`?此时我希望散列为:{1=>[1],2=>[2],3=>[3]}但远非如此。发生了什么,我怎样才能得到我期望的行为?